package com.chen.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/servlet1")
public class Servlet1 extends HttpServlet {

    /*
    1. 响应重定向向是由 HttpServletResponse 完成的 ，步骤：设置响应状态码为 304 ，并且设置响应头中Location的值（作用：指定下一次请求发送到那个资源上）
    2. 响应重定向是由服务端返回提示信息，客户端做出再次发送的行为
    3. 响应重定向会修改地址栏中的url
    4. 一旦发生响应重定向一定有至少两次请求
    5. 因为发送的多次请求，所以 重定向源中 请求对象 和 重定向目标的中的 请求对象 不是同一，这就使得这个servlet是无法
    5. 可以访问项目中未收保护的静态资源的
    6. 不能访问 WEB-INF 中受保护的资源的
    7. 使用响应重定向是可以重定向到外部资源的
    */

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("Servlet 1 执行了");
        // sendRedirect(路径) 做了两件事：设置响应状态为 304 和 设置响应头中Location的值为方法中参数
        resp.sendRedirect("b");
        req.setAttribute("age", 120);
        System.out.println(req.getParameter("username"));
        System.out.println("好站撒好的搜父级但是");
    }
}
